;Assembler header file for ShareFS
;written by DefMod (Dec 31 2005) on Sat Dec 31 14:01:39 2005
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 22 Aug 1995

        [       :LNOT: :DEF: ShareFS_Hdr
        GBLS    ShareFS_Hdr

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET oslib/Types.Hdr"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_OS
        GBLS    Get_OS
        ]
        [       :LNOT: :DEF: OS_Hdr
Get_OS                          SETS    "GET oslib/OS.Hdr"
        |
Get_OS                          SETS    ""
        ]
        $Get_OS

        [       :LNOT: :DEF: Get_Freeway
        GBLS    Get_Freeway
        ]
        [       :LNOT: :DEF: Freeway_Hdr
Get_Freeway                     SETS    "GET oslib/Freeway.Hdr"
        |
Get_Freeway                     SETS    ""
        ]
        $Get_Freeway

;Symbols for constants
ShareFS_AttrDisc                *       &1
ShareFS_AttrDiscP               *       &2
ShareFS_AttrDiscRO              *       &4
ShareFS_AttrHidden              *       &8
ShareFS_AttrSubdirAuth          *       &10
ShareFS_AttrCDROM               *       &20
ShareFS_AttrCDROMAuth           *       &40
ShareFS_FileTypeDiscP           *       &BD9
ShareFS_FileTypeDisc            *       &BDA
ShareFS_FileTypeSubdir          *       &FAF
ShareFS_FileTypeCDROM           *       &FAD
ShareFS_FileTypeDiscR           *       &FB4
ShareFS_FileTypeNoDisc          *       &FB5
ShareFS_ShareDisc               *       &0
ShareFS_ShareDiscP              *       &1
ShareFS_ShareDiscRO             *       &2
ShareFS_ShareHidden             *       &4
ShareFS_ShareSubdirAuth         *       &8
ShareFS_ShareCDROM              *       &10
ShareFS_ShareCDROMAuth          *       &20
ShareFS_NoMore                  *       -1
ShareFS_EnumerateProtected      *       &1
ShareFS_EnumerateReadOnly       *       &2
ShareFS_EnumerateHidden         *       &4
ShareFS_EnumerateSubdir         *       &8
ShareFS_EnumerateCDROM          *       &10
ShareFS_EnumerateAuthenticated  *       &80000000

;Symbols for structure offsets and sizes
                                ^       0
                                #       Bits
ShareFS_Attr                    *       @

                                ^       0
                                #       Bits
ShareFS_ShareFlags              *       @

                                ^       0
                                #       Bits
ShareFS_StopFlags               *       @

                                ^       0
                                #       Bits
ShareFS_EnumerateFlags          *       @

                                ^       0
                                #       Bits
ShareFS_StartingFlags           *       @

                                ^       0
                                #       Bits
ShareFS_TerminatingFlags        *       @


;Symbols for SWI's and SWI reason codes
XShareFS_CreateShare            *       &67AC0
ShareFS_CreateShare             *       &47AC0
   ;Entry
   ;  R0 = flags (ShareFS_ShareFlags)
   ;  R1 -> obj_name (String)
   ;  R2 -> dir_path (String)
   ;  R3 = authentication (Int)

XShareFS_StopShare              *       &67AC1
ShareFS_StopShare               *       &47AC1
   ;Entry
   ;  R0 = flags (ShareFS_StopFlags)
   ;  R1 -> obj_name (String)

XShareFS_EnumerateShares        *       &67AC2
ShareFS_EnumerateShares         *       &47AC2
   ;Entry
   ;  R0 = flags (ShareFS_EnumerateFlags)
   ;  R4 = context (Int)
   ;Exit
   ;  R1 -> obj_name (String)
   ;  R2 -> dir_path (String)
   ;  R3 = attr (ShareFS_Attr)
   ;  R4 = context_out (Int)
   ;  R5 = authentication (Int)

Service_ShareFSStarting         *       &97
   ;Entry
   ;  R1 = &97
   ;  R2 = flags (ShareFS_StartingFlags)

Service_ShareFSTerminating      *       &98
   ;Entry
   ;  R1 = &98
   ;  R2 = flags (ShareFS_TerminatingFlags)

        ]
        END
